草庐IT

Java TLS-PSK 套接字

全部标签

C# 套接字 TCP 客户端/服务器

我有一个客户端和一个服务器,我试图通过我的本地网络(127.0.0.1)与彼此通话。首先,我启动“服务器”应用程序:publicoverridevoidStartListening(intport,IPAddressaddress){listenClient=newTcpListener(address,port);listenClient.Start();listenDelimiter=newIPEndPoint(address,port);if(listenThread!=null)listenThread.Abort();listenThread=newThread(newPar

c++ - 如何使用 BSD 套接字查找 ip 地址?

我在无线局域网上使用BSD套接字。我注意到当我连接到它时,我的服务器计算机的IP地址偶尔会发生变化。问题是我将ip地址作为文字字符串输入到我的代码中。因此,每当它发生变化时,我都必须进入代码并在那里进行更改。我怎样才能更改代码,以便它可以使用当时的任何ip?这是服务器代码中的调用if((status=getaddrinfo("192.168.2.2",port,&hints,&servinfo))!=0)和客户端是一样的。我尝试为两侧的地址设置NULL,但客户端不会连接,只会给我一个“连接被拒绝”的错误。感谢您的帮助。 最佳答案 使

java - 简单的服务器/客户端套接字连接?

我正在编写一个java套接字,服务器在其中运行,客户端连接到服务器,服务器可以从客户端命令行读取数据。首先我想连接到服务器,代码如下:publicclassServer{publicstaticvoidmain(String[]args)throwsIOException{ServerSocketserverSocket=null;try{serverSocket=newServerSocket(10000);}catch(IOExceptione){System.err.println("Couldnotlistenonport:4444.");e.printStackTrace()

c - TCP 套接字 C 上的负数

每当我尝试通过TCP套接字发送一个负数时,当我打印收到的内容时,它会显示为“4.29497e+09”。我所做的就是:inti=-8;inttemp=htonl(i);write(sock,&temp,4);在服务器上:inttemp;read(sock,&temp,4);intread=ntohl(temp);cout如果有人能提供帮助,我们将不胜感激。 最佳答案 htonl/ntohl函数专门用于无符号32位整数。Thehtonl()functionconvertstheunsignedintegerhostlongfromhos

Node.js TCP 套接字 session

我有多个客户端从应用程序连接到Node.jsTCP套接字服务器。我想知道一种安全的方式来管理他们的session。用户名+密码通过套接字传递到服务器。服务器确认这是正确的。我认为我现在需要生成一个唯一的token以发送回客户端。现在如果用户关闭应用程序,然后再次打开它,这个token可以传递给服务器,因此服务器将再次确认用户已通过身份验证。但是,其他人可能会使用此token来访问此人的帐户。有办法避免这种情况吗?是否有更安全的方法(同时仍然保持用户无需再次登录即可进行身份验证的能力)?您将如何使用相同的登录名处理来自其他设备的连接。他们得到的是不同的token还是相同的token?非常

c - 如何检测对方在 TCP 套接字上调用了 shutdown()?

比如说,一个tcp客户端已经连接到套接字s上的一个tcp服务器。接下来,客户端调用shutdown(s);,那么服务端应该如何检测到客户端做了那个操作呢?PS:我知道服务器会收到FD_CLOSE。但是,我不知道如何在服务器端检查该标志。 最佳答案 来自winsock的recv描述:Iftheconnectionhasbeengracefullyclosed,thereturnvalueiszero.从recv、WSARecv(或ReadFile)获取零字节计数是了解对方已关闭连接的常用方法.

c - 在 Linux/Mac/Windows 上,是否可以在连接的 TCP 套接字的用户空间中访问 TCP 时间戳和/或 RTT?

在Linux/Mac/Windows上,是否可以在连接的TCP套接字的用户空间中访问TCP时间戳和/或RTT?我指的是RFC1323启用的TCP时间戳和相关的RTT计算.显然,我可以使用原始套接字,但套接字既不会连接也无法在Windows上发送TCP数据包(我相信是在XPUpdate3之后)。 最佳答案 我想附加更多信息。对于iOS/MacOSX,我发现了另一种与Linuxtcp_info非常相似的方法。它是structtcp_connection_info。您可以在iOS/MacOSXxcodesdk的usr/include/ne

c++ - TCP 套接字是否可以注意到网络中断的异常?

我在Linux上通过套接字与服务器建立了一个tcp链接。并且我使用select()函数来监控是否有数据,如果有,我使用recv获取数据。现在我想知道网络是否坏了(比如电缆被拔掉了)。但是即使我监视异常也无法获取异常。FD_SET(m_socket,&except_fds);intresult=select(m_socket+1,&fds,0,&except_fds,timeout==-1?0:&tv);让我感到困惑的是android上有类似的实现(java.net.socket),如果我将手机设置为飞行模式,我可以立即捕获异常。select()实现平台是否特定?总之,是否可以用这种方法

C++从套接字读取未知数量的数据

我用c++写了一个简单的tcp/ip连接client-server。这是处理连接的服务器部分intsockfd,newsockfd;socklen_tclilen;structsockaddr_inserv_addr,cli_addr;intn=0;sockfd=socket(AF_INET,SOCK_STREAM,0);if(sockfd但是如果我知道要读取的字节总数,这就可以工作。如果要读取的数据总量未知怎么办?如何修改这段代码? 最佳答案 您询问了如何修复您的低级接收代码。这很简单——只需调用一次read,不要使用while循

java - 通过套接字接收文件,TCP 连接卡住

我已经在套接字上坚持了4小时,我使用的方式是只有一个应用程序作为客户端和服务器,一旦客户端连接,它就会用新客户端打开Theard并等待消息.一旦消息发送到服务器,客户端将收到响应,这部分工作没有任何问题。Theard部分客户:while(true){InputStreamReaderIR=newInputStreamReader(clientSocket.getInputStream());BufferedReaderBR=newBufferedReader(IR);PrintStreamPS=newPrintStream(clientSocket.getOutputStream())